/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package hoja.de.trabajo5;

/**
 *
 * @author FAMILIA
 */
   
    public interface Queue<E> {
    
    /**
     * 
     * @param e Recibe cualquier tipo de dato, (ADT)
     * @return Regresa true, si se pudo agregar el dato.
     * @throws Exception lanza una excepcion en caso no se pueda agregar el dato.
     */
    public boolean add(E e)throws Exception;
    
    /**
     * Deja ver, pero no retira, el dato de la lista.
     * @return Regresa un dato E, es decir cualquier tipo de dato.
     */
    public E peek();
    
    /**
     * Elimina el elemento de la lista.
     * @return Regresa el elemento de la lista en la primera posición.
     */
    public E remove();
    
    /**
     * Maneja el tamaño de la cola.
     * @return regresa un entero, que representa el número de elementos en la cola.
     */
    public int size();
    
    /**
     * Verifica si la cola está vacía.
     * @return Verdadero si la cola está vacía, falso si no lo está.
     */
    public boolean isEmpty();

    
}
